package com.gylang.print.util;

import cn.hutool.core.collection.CollUtil;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @author gylang
 * data 2021/7/8
 */
public class JsoupUtil {

	/**
	 * 获取节点下某个属性的第一个值
	 *
	 * @param attr    属性名称
	 * @param element 当前节点
	 * @return 属性值
	 */
	public static String findFirstAttr(String attr, Element element) {

		return CollUtil.getFirst(findAttrList(attr, element));
	}

	/**
	 * 获取节点下某个属性的值
	 *
	 * @param attr    属性名称
	 * @param element 当前节点
	 * @return 属性值
	 */
	public static List<String> findAttrList(String attr, Element element) {
		Elements elements = element.select("[" + attr + "]");
		if (CollUtil.isNotEmpty(elements)) {
			return elements.stream().map(e -> e.attr("attr")).collect(Collectors.toList());
		}
		return null;
	}
}
